HDFS: The short-circuit local reads feature cannot be used

问题:

method:org.apache.hadoop.hdfs.DomainSocketFactory.<init>(DomainSocketFactory.java:69) The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.

不能使用local read的优化策略;

解决:

 Hadoop的一大基本原则是移动计算的开销要比移动数据的开销小。因此,Hadoop通常是尽量移动计算到拥有数据的节点上。这就使得Hadoop中读取数据的客户端DFSClient和提供数据的Datanode经常是在一个节点上,也就造成了很多“Local Reads”。

 

修改配置如下:

<configuration>  
  <property>  
   <name>dfs.client.read.shortcircuit</name>  
    <value>true</value>  
  </property>  
  <property>  
   <name>dfs.domain.socket.path</name>  
   <value>/var/lib/hadoop-hdfs/dn_socket</value>  
  </property>  
</configuration>  

 参考:

http://blog.csdn.net/jewes/article/details/40189263

posted @ 2017-05-11 11:57  bigbigtree  阅读(7452)  评论(0编辑  收藏  举报